CSPRNG

Um gerador de número pseudo-aleatório criptograficamente seguro (CSPRNG, na sigla em inglês) ou gerador de números pseudoaleatórios criptográfico (CPRNG, na sigla em inglês)[1] é um gerador de números pseudoaleatórios (PRNG) com propriedades que o torna adequado para o uso na criptografia.

Muitos aspectos da criptografia requerem números aleatórios, como por exemplo:

A "qualidade" da aleatoriedade necessária para essas aplicações varia. Por exemplo, criar uma nonce para algum protocolo requer apenas singularidade. Por outro lado, a geração de uma chave mestre requer mais qualidade, tal como entropia. E no caso de cifras de uso único, a garantia da teoria da informação de sigilo perfeito apenas se mantém caso a geração da chave utilizar uma fonte verdadeiramente aleatória com alta entropia.

Idealmente, a geração de números aleatórios em CSPRNGs usa entropia para obter fontes de alta qualidade, que podem ser um hardware ou um processo de sistema imprevisível; apesar de correlações inesperadas terem sido encontradas em tais diversos processos ostensivamente independentes. Do ponto de vista da informação teórica, a quantidade de aleatoriedade, a entropia que pode ser gerada, é igual a entropia fornecida pelo sistema. Porém, às vezes, em situações práticas, é necessário mais números aleatórios do que há entropia disponível. Além disso, o processo de extrair aleatoriedade de um sistema em execução pode ser lento na prática. Em tais casos, um CSPRNG pode ser utilizado. Um CSPRNG pode "ampliar" a entropia disponível sobre mais bits.

  1. Andrew Huang (2003). Hacking the Xbox: An Introduction to Reverse Engineering. Col: No Starch Press Series. [S.l.]: No Starch Press. 111 páginas. 9781593270292. Consultado em 24 de Outubro de 2013. [...] o gerador de fluxo de chave [...] pode ser visto como um gerador de números pseudoaleatórios criptográfico (CPRNG). 

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search